﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using System.Data.SqlClient;

namespace TCCT_CTC_CSDLDangVienV1.DanhMuc
{
    public partial class frmUserUpdate : frmBase
    {
        private string Action = MyConst.ACTION.Insert;
        public string SelectedID = string.Empty;
        private bool IsFormFind = false;
        /// <summary>
        /// Là đầu mối của người dùng
        /// </summary>
        public string SelectedDauMoiID = "";
        public frmUserUpdate()
        {
            InitializeComponent();
        }



        private static frmUserUpdate _instance = null;
        public static frmUserUpdate Instance
        {
            get
            {
                if (_instance == null || _instance.IsDisposed)
                    _instance = new frmUserUpdate();
                return _instance;
            }
            set { _instance = value; }
        }

        private void frmUserUpdate_Load(object sender, EventArgs e)
        {
            try
            {

                ApplyUI();



                BindDataToControl();


                frmUserUpdate.Instance = this;
            }
            catch (Exception _ex)
            {
                ShowErrorMessage(_ex);
            }
        }

        //Nơi gán thuộc tính giao diện cho các control
        private void ApplyUI()
        {
            UI.Button.ApplyInsert(btnOk);
            UI.Button.ApplyInsert(btnCancel);


            UI.TextBox.ApplyDefault(txtHoTen);
            UI.TextBox.ApplyDefault(txtUsername);
            UI.TextBox.ApplyDefault(txtPassword);
            UI.TextBox.ApplyDefault(txtNhapLaiPassword);
            UI.CheckBox.ApplyDefault(chkIsAdmin);
            UI.TextBox.ApplyDefault(txtMoTa);
            UI.TextBox.ApplyDefault(txtDauMoi);
        }


        //Nơi tải dữ liệu danh mục lên các control để lựa chọn: ví dụ: Combobox, listbox ...
        private void BindDataToControl()
        {
            try
            {
                if (!MyCommon.CurrentUserIsAdministrator)
                {

                }
            }
            catch (Exception _ex)
            {
                ShowErrorMessage(_ex);
            }
        }



        private bool IsInvalid()
        {
            bool isValid = true;
            ValidationMessage = null;
            AppendValidationMessage("Bạn cần nhập dữ liệu cho: ");

            if (txtUsername.EditValue.ToString().Trim() == "")
            {
                AppendValidationMessage("Tên đăng nhập");
                isValid = false;
            }
            if (txtPassword.EditValue.ToString() == "")
            {
                AppendValidationMessage("Mật khẩu");
                isValid = false;
            }


            if (IsNull(txtHoTen))
            {
                AppendValidationMessage("Họ tên");
                isValid = false;
            }

            //Hiện thông báo lỗi khi isValid=false
            if (!isValid)
                ShowValidationMessage();

            return isValid;
        }



        private void btnThoat_Click(object sender, EventArgs e)
        {
            try
            {
                this.DialogResult = DialogResult.Cancel;
                this.Close();
            }
            catch (Exception _ex)
            {
                ShowErrorMessage(_ex);
            }
        }


 

        private void txtDauMoi_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                if (txtDauMoi.Text.Trim() == "") return;

                txtDauMoi_ButtonClick(null, null);
            }
        }

        private void txtDauMoi_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
        {
            if (DanhMuc.frmDauMoiList.InstanceFind.ShowDialog() == DialogResult.OK)
            {
                this.SelectedDauMoiID = DanhMuc.frmDauMoiList.InstanceFind.SelectedID;
                txtDauMoi.Text = "(" + DanhMuc.frmDauMoiList.InstanceFind.dgData.FocusedNode.GetValue("MaDV").ToString() + ") " + DanhMuc.frmDauMoiList.InstanceFind.dgData.FocusedNode.GetValue("TenDV").ToString();
            }
        }

        private void chkIsAdmin_KeyDown(object sender, KeyEventArgs e)
        {
            try
            {
                if (e.KeyCode == Keys.Enter)
                {
                    e.Handled = true;
                    txtMoTa.Focus();
                }
            }
            catch (Exception _ex)
            {
                ShowErrorMessage(_ex);
            }
        }

        private void btnOk_Click(object sender, EventArgs e)
        {
            if (txtPassword.Text != txtNhapLaiPassword.Text)
            {
                MyCommon.ShowDialogMessage("Nhập lại mật khẩu không đúng");
                return;
            }

            this.DialogResult = DialogResult.OK;
            this.Close();
        }







    }
}